#pragma once
#include <winnt.h>
 
class CSHGetFileInfo
{
public:
    /// 获取系统图像列表
    /// @param[in] bSmallIcon ture则为小图标，false则为大图标
    static HIMAGELIST  GetSystemImageListHandle(BOOL bSmallIcon = TRUE);
 
    /// 获取系统图片列表的文件图片索引
    /// @param[in] strFileName 文件名
    /// @param[in] bSmallIcon ture则为小图标，false则为大图标
    static int GetFileIconIndex(CString strFileName, BOOL bSmallIcon = TRUE);
 
    /// 获取系统图片列表的文件夹图片索引
    /// @param[in] bSmallIcon
    static int GetDirIconIndex(BOOL bSmallIcon = TRUE);
 
    /// 获取文件的icon的句柄
    /// @param[in] diskName 磁盘名
    /// @param[in] bSmallIcon ture则为小图标，false则为大图标
    static int GetDiskIconIndex(LPCTSTR diskName, BOOL bSmallIcon = TRUE);
 
    /// 获取文件的icon的句柄
    /// @param[in] strFileName 文件名
    /// @param[in] bSmallIcon ture则为小图标，false则为大图标
    static HICON GetFileIconHandle(CString strFileName, BOOL bSmallIcon = TRUE);
 
    /// 获取文件夹的icon的句柄
    /// @param[in] bSmallIcon ture则为小图标，false则为大图标
    static HICON GetFolderIconHandle(BOOL bSmallIcon = TRUE);
 
    /// 获取磁盘的icon的句柄
        /// @param[in] diskName 磁盘名
    /// @param[in] bSmallIcon ture则为小图标，false则为大图标
    static HICON GetDiskIconHandle(LPCTSTR diskName, BOOL bSmallIcon = TRUE);
 
    /// 获取文件类型
    /// @param[in] strFileName 文件名
    static CString GetFileType(CString strFileName);
};